Aside from typically less sophisticated devices such as repeaters, computer or data networking devices can be generally divided into two classes: bridges or switches and routers. Bridges or switches are layer-2 devices in the seven layer ISO (International Organization for Standardization) reference model of open system interconnection. Their principle role is to read the destination physical address of incoming packets, headers, determine how the packets must propagate through the bridge to reach their destination, i.e., a forwarding decision, and then retransmit the packets according to that forwarding decision. On the other hand, routers are layer-3 devices in which the forwarding decisions may also include the modification of the headers and specifically the destination addresses of the packets when necessary for the packets to reach their intended destinations, especially when the packets are transmitted between networks. Because of the different functionality that is required from routers on one hand and bridges/switches on the other hand, different architectures have been used to implement the networking devices.
One bridging architecture employs distributed data and distributed header processing. Local packet controllers share a common packet broadcast bus in a highly symmetric fashion, each controller having its own address look-up table (LUT). Packets received in through ports of the bridge are first passed to the local packet controller that controls the respective ports and then are distributed to the other controllers via the common broadcast bus. Each of the local packet controllers analyzes the packets on the broadcast bus to assess whether or not that packet must be sent out a port controlled by that controller by reference to the controller's address LUT and the packet's header. This relatively newer architecture contrasts against more conventional systems employing centralized data with centralized address look-up. In these systems, each received packet is be passed to a central packet processor that makes all of the forwarding decisions and then sends the packet to media access controllers (MAC) of the appropriate destination ports.
The typical router architecture is highly centralized, generally analogous to the conventional bridge architecture. It employs centralized header processing and centralized packet data storage. Packets received into the router via the ports are forwarded to a central header processor via a bus. The processor then decides how the packet should be forwarded, including whether its header must be modified. Once modified, if necessary, the packet is then forwarded to the appropriate MAC, again via the bus, for transmission out of the router either to its destination node or to another router.